一個簡單的 CLI 工具,用來查詢 CVE 漏洞資訊,並整理成結構化的風險評估報告。
資料來源主要來自公開 API,LLM 僅負責整理與說明。
-
查詢 CVE 基本資訊(NVD)
- CVSS 分數
- 影響產品與版本
-
查詢實際利用情況
- EPSS(被利用機率)
- CISA KEV(是否已被實際攻擊)
-
產生結構化風險評估(繁體中文)
-
支援 Markdown 報告輸出
-
內建 cache,避免重複查詢
-
支援簡單 agent 流程(plan → execute → report)
python security_advisor.py CVE-2021-44228python security_advisor.py CVE-2021-44228 CVE-2024-3094python security_advisor.py CVE-2021-44228 --quick輸出簡單表格:
CVE ID CVSS SEV EPSS KEV Priority
----------------------------------------------------------------------
CVE-2021-44228 10.0 CRITICAL 0.97 YES P0
python security_advisor.py CVE-2021-44228 --agentic流程:
Plan → Tool Execution → Report
當部分資料來源失敗時,仍會保留已取得資訊並產出報告,同時標示缺漏項目。
python security_advisor.py CVE-2021-44228 --save# 使用 Gemini
python security_advisor.py CVE-2021-44228 --engine gemini
# 使用 OpenAI
python security_advisor.py CVE-2021-44228 --engine openai
# 自動 fallback(預設)
python security_advisor.py CVE-2021-44228 --engine autopython -m venv venv
source venv/bin/activate
pip install -r requirement.txt(requirement.txt 內可自行調整版本)
export OPENAI_API_KEY=your_api_keyexport GEMINI_API_KEY=your_api_keyAPI Key 可於以下取得:
- OpenAI:https://platform.openai.com/settings/organization/api-keys
- Google AI Studio:https://aistudio.google.com/
免費方案通常會有使用次數或 Token 限制。
未設定時仍可使用 quick mode。
預設位置:
~/.cache/security_advisor
TTL:
- NVD:1 小時
- EPSS:1 天
- CISA KEV:1 天
清除 cache:
python security_advisor.py CVE-2021-44228 --clear-cache-
所有漏洞資料皆來自公開來源(NVD / EPSS / KEV)
-
LLM 僅用於整理與產生報告,不作為資料來源
-
採用 tool-based 設計,避免 LLM 幻覺
-
在 agent 模式下,流程為:
- Plan:決定需要查詢的資訊
- Execute:呼叫本地 tool 取得資料
- Report:根據結果產生報告
-
若部分資料來源失敗,系統仍會繼續產出報告,並標示缺漏資訊
- NVD 資料有時更新較慢
- 新漏洞可能缺少完整 CVSS / CPE 資訊
- LLM 輸出結果可能略有差異
- 部分 API 可能發生 timeout 或 rate limit
- 此工具主要用於個人使用與測試,不保證結果完整或正確
- 僅於 Linux / macOS Terminal 測試,Windows 可透過 WSL2 執行
- MIT License